Memorizzare le visite alle pagine

E' necessario un database pagine con una tabella di nome pagine con la seguente struttura:

IDpagina Contatore PK
url Testo (255)
accessi Numerico
e questo script, da inserire in ogni pagina desiderata:
<%
Dim url, qs, conn, RS

'Recuperiamo il nome della pagina in esecuzione completo del suo percorso
url = Request.ServerVariables("SCRIPT_NAME")

'Recuperiamo l'eventuale querystring
qs = Request.QueryString

'Se c'è una querystring allora completiamo il nome della pagina richiesta
If qs <> "" AND (Not IsNull(qs)) Then url = url & "?" & qs

'Apriamo il nostro database
Set conn = Server.CreateObject("ADODB.Connection")
conn.open "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & _
Server.MapPath("/mdb-database/pagine.mdb")

'Impostiamo la query che verifica se la pagina richiesta è già
'presente nel db
SQL = "SELECT idpagina FROM pagine WHERE url = '" & url & "'"

'Eseguiamo la query di verifica e memorizziamo il risultato
'nel recordset RS
Set RS = conn.Execute(SQL)

'Se la pagina è già presente allora incrementa il conteggio delle
'visualizzazioni, altrimenti memorizza per la prima volta la pagina nel db
If Not RS.EOF Then
SQL = "UPDATE pagine SET accessi = accessi + 1 WHERE idpagina = " & RS(0)
Else
SQL = "INSERT INTO pagine (url, accessi) VALUES ('" & url & "',1)"
End If

'Eseguiamo la query scelta
conn.Execute(SQL)

'Liberiamo memoria
Set RS = Nothing
conn.Close
Set conn = Nothing
%>
 

<!--#include virtual="/pagine.asp"-->